package com.model.工厂.A简单工厂模式;

public class AnimalFactory {
    public static  Animal createAnimal(String type) {
        // 破坏开闭原则
        if ("dog".equalsIgnoreCase(type)) {
            return new Dog();
        } else if ("cat".equalsIgnoreCase(type)) {
            return new Cat();
        }
        throw new IllegalArgumentException("未知动物类型");
    }

    public static void main(String[] args) {
        // 简单工厂 一个工厂创建所有具体产品，如果新增产品需要修改工厂类不符合开闭原则
        Animal dog = AnimalFactory.createAnimal("dog");
        dog.speak();
    }
}
